<?php 

namespace Home\Controller;
use Think\Controller;
use Org\Alidayu\SendMSM;


class RegisterController extends Controller
{
	public function register()
	{
		$this->display("Register/register");
	}

	/**
	 * 发送短信
	 * 1. 将随机生成的验证码存放到session中
	 * 2. 
	 */
	public function sendMsg()
	{
		// 验证手机号码是否存在
		$res = $this->is_reg($_POST);
		// 发送验证码
		$m = new SendMSM();
		// 随机生成一个验证码
		$verify = mt_rand(1001, 9999);
		$smsParam = json_encode(['verify'=>"{$verify}"]);
		// 将验证码的信息保存到session中
		session("smsParam", $verify);
		// echo $smsParam;
		// 参数一：发送给用户短信的电话号码
		// 参数二：阿里大于发送给用户的验证码
		$res = $m->send($_POST["phone"], $smsParam);
		var_dump($res);
		return $res;
	}

	/**
	 * 判断用户注册的信息
	 */
	public function is_reg($post)
	{
		$data = M("User")->where([
				'username'=> $post["username"]
			])->find();
		// print_r($data);
		if (is_array($data) && !empty($data)) {
			die(json_encode(1));
		} else {
			$data = M("User")->where([
					'phone' => $post["phone"]
				])->find();
			if (is_array($data) && !empty($data)) die(json_encode(2));;
		}
	}

	/**
	 *  处理最后的注册
	 */
	public function doReg()
	{
		if (!isset($_POST["agree"])) {
			return show(0, "不同意用户守则将不能完成注册！！");
		}
		if ($_POST["verify"] != session("smsParam")) {
			return show(0, "请输入正确的验证码");
		}
		if ($_POST["password"] != $_POST["repassword"]) {
			return show(0 , "我次密码不一致");
		}


		$data["username"] = $_POST["username"];
		$data["password"] = $_POST["password"];
		$data["phone"] = $_POST["phone"];
		$data["registime"] = time();   // 注册时间
		$data["login"] = time();   // 注册时间
		$data["loginip"] = $_SERVER["REMOTE_ADDR"]; // ip地址
		$data["password"] = get_hash_password($data["password"]); // 密码
		$data['nickname'] = "tz".date("Ymd");
		$res = D("User")->addData($data);
		// echo M()->_sql();
		// var_dump($res);
		if ($res) {
			return show(1, "注册成功,前往登入");
		} else {
			return show(0, "网络错误，请重新注册");
		}
	}
}